﻿//-----------------------------------------------------------------------
// <copyright file="ServerSideCrossDomainProxy.asmx.cs" company="CMSN Software">
//    Copyright © 2010  CMSN Software
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see http://www.gnu.org/licenses.
// </copyright>
//-----------------------------------------------------------------------

namespace CMSNSoftwareTutorials.HowToUseCrossDomainAjaxRequest.ServerSideProxySample
{
    using System.Collections.Generic;
    using System.Linq;
    using System.Web.Script.Services;
    using System.Web.Services;
    using CMSNSoftwareTutorials.HowToUseCrossDomainAjaxRequest.ServerSideProxySample.CrossDomainService;

    /// <summary>
    /// Server side Proxy for support cross domain request.
    /// </summary>
    [WebService(Namespace = "http://cmsnsoftware.blogspot.com/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class ServerSideCrossDomainProxy : System.Web.Services.WebService
    {
        /// <summary>
        /// details of all cars.
        /// </summary>
        /// <returns>details of all cars</returns>
        [WebMethod]
        [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
        public List<Car> AllCars()
        {
            CarDetails carDetails = new CarDetails();
            return carDetails.AllCars().ToList<Car>();
        }
    }
}
